import React, { useEffect, useState } from 'react';
import { Text } from '../components/Inputs';
import CodeRenderer from '../components/renderers/Code'
import PasteInfo from '../components/PasteInfo';
import PasswordModal from '../components/modals/PasswordModal'
import RenderDispatch from '../components/renderers/RenderDispatch'
import {Watermark} from "../components/Watermark";
import { useRouter } from 'next/router'
import resolvePaste from "../http/resolvePaste";
import NextHead from "../components/NextHead";
export async function getServerSideProps(ctx) {
const data = await resolvePaste(ctx.params.hash)
return { props: { ...data } }
}
const ViewPaste = ({data, unauthorized, error}) => {
const router = useRouter()
const { hash } = router.query
const [theme, setTheme] = useState('atom');
const [isRenderMode, setIsRenderMode] = useState(false);
const [enteredPass, setEnteredPass] = useState('');
const [correctPass, setCorrectPass] = useState(!unauthorized);
const [clientData, setClientData] = useState(data)
const {content, language, expiry, title} = clientData;
const getWithPassword = (password, errorCallback) => {
resolvePaste(hash, password)
.then(resp => {
setCorrectPass(true)
setClientData(resp.data)
})
.catch(e => errorCallback(e.response.data))
}
useEffect(() => {
setIsRenderMode(language === 'latex' || language === 'markdown')
}, [language])
function getDisplay() {
return isRenderMode ?